<!-- HTML header for doxygen 1.8.5-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<title>GenAVB/TSN: gPTP usage and configuration</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script src="http://www.freescale.com/files/abstract/misc/COLLATERALTEMPLATE_infocenter.js" type="text/javascript" xml:space="preserve"><!-- --></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(function() { init_search(); });
/* @license-end */
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="html_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">GenAVB/TSN
   </div>
  </td>
   <td>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('fgptp_usage.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="PageDoc"><div class="header">
  <div class="headertitle">
<div class="title">gPTP usage and configuration </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1><a class="anchor" id="autotoc_md65"></a>
Description</h1>
<p>The GenAVB stack includes support for a gPTP component which implement the Precision Time Protocol as per IEEE 802.1AS-2011 specification (subset of PTPv2 IEEE 1588), in order to establish an accurate time reference among all AVB nodes.</p>
<p>The gPTP component is packaged in 3 differents flavours:</p><ul>
<li>Endpoint package (AED-E) : gPTP endpoint (fgptp) capabilities (Slave or Grand Master)</li>
<li>Bridge package (AED-B): gPTP bridge (fgptp-br) capabilities (Grand Master or Transparent clock)</li>
<li>Hybrid package (AED-H): a combination of both the Bridge and Endpoint capabilities at the same time</li>
</ul>
<p>The following features are supported:</p><ul>
<li>Slave or GrandMaster capabilities</li>
<li>Best master clock selection algorithm (BMCA) for dynamic selection of the highest quality clock (GrandMaster)</li>
<li>Support for Automotive profiles per AVnu-AutoCDSFunctionalSpec v1.4 (static configuration, no BMCA, static pdelay, dynamic intervals)</li>
</ul>
<h1><a class="anchor" id="autotoc_md66"></a>
Usage</h1>
<pre class="fragment">fgptp or fgptp-br [options]
Options:
    -v display program version
    -f &lt;conffile&gt; path and filename to read configuration from (eg: /etc/genavb/fgptp.cfg for endpoint stack or /etc/genavb/fgptp-br.cfg for bridge stack)
    -h print this help

Notes:
The gPTP stack component will be launched once the first time the AVB stack is started.
Depending on the gPTP package (endpoint/bridge/hybrid) the fgptp and/or fgptp-br applications are automatically started during system startup process.
The default configuration file (e.g.: fgptp.cfg) is for general gPTP parameters as well as domain 0 parameters. To enable other domains, new files must be created with '-N' appended to the filename (e.g.: 'fgptp.cfg-1' for domain 1).
The fgptp applications can also be stopped and started manually at any time using the following set of commands:
    fgptp.sh stop
    fgptp.sh start
</pre><h1><a class="anchor" id="autotoc_md67"></a>
Configuration files (/etc/genavb/fgptp.cfg[-N])</h1>
<h3><a class="anchor" id="autotoc_md68"></a>
[FGPTP_GENERAL]</h3>
<h4><a class="anchor" id="autotoc_md69"></a>
profile</h4>
<p>The fgptp stack can operate in two different modes known as 'standard' or 'automotive' profiles.</p>
<p>When the 'standard' profile is selected, the fgptp stack operates following the specifications described in IEEE 802.1AS. When the 'automotive' profile is selected, the fgptp stack operates following the specifications described in the AVnu AutoCDSFunctionalSpec_1.4 which is a subset of the IEEE 802.1AS specifications optimized for automotive applications.</p>
<p>The automotive environment is unique in that it is a closed system. Every network device is known prior to startup and devices do not enter or leave the network, except in the case of failures. Because of the closed nature of the automotive network, it is possible to simplify and improve gPTP startup performance. Specifically, functions like election of a grand master and calculations of wire delays are tasks that can be optimized for a closed system.</p>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">profile </td><td class="markdownTableBodyCenter">"standard" or "automotive" (default "standard") </td><td class="markdownTableBodyCenter">Set fgptp main profile. "standard" - IEEE 802.1AS specs, "automotive" - AVnu automotive profile  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md70"></a>
grand master ID</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">gm_id </td><td class="markdownTableBodyCenter">64bits EUI format (default "0x0001f2fffe0025fe") </td><td class="markdownTableBodyCenter">Set static grandmaster ID in host order (used by automotive profile, ignored in case of standard profile)  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md71"></a>
gPTP domain number assignment</h4>
<p>gPTP domain number param is a per-domain parameter (defined in the default and other domains config files). At least one domain shall be supported: domain 0, with its domain_number equal to 0.</p>
<p>(see IEEE 802.1AS-2020 - 8.1 gPTP domain)</p>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">domain_number </td><td class="markdownTableBodyCenter">-1 to 127 (default -1 for non-zero instances) </td><td class="markdownTableBodyCenter">Disable (value -1) or assign a gPTP domain number to a domain instance.  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md72"></a>
log output level</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">log_level </td><td class="markdownTableBodyCenter">0 or 1 (default 0) </td><td class="markdownTableBodyCenter">Set this configuration to 1 to enable debug mode  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md73"></a>
reverse sync feature control</h4>
<p>The Reverse Sync feature (Avnu specification) should be used for test/evaluation purpose only. Usually to measure the accuracy of the clock synchronization, the traditional approach is to use a 1 Pulse Per Second (1PPS) physical output. While this is a good approach, there may be cases where using a 1PPS output is not feasible. More flexible and fully relying on SW implementation the Reverse Sync feature serves the same objective using the standard gPTP Sync/Follow-Up messages to relay the timing information, from the Slave back to the GM.</p>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">reverse_sync </td><td class="markdownTableBodyCenter">0 or 1 (default 0) </td><td class="markdownTableBodyCenter">Set to 1 to enable reverse sync transmit on slave side.  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md74"></a>
reverse sync feature interval</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">reverse_sync_interval </td><td class="markdownTableBodyCenter">&#160;32 to 10000 (default 112) </td><td class="markdownTableBodyCenter">Reverse sync transmit interval in ms units  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md75"></a>
Neighbor propagation delay threshold</h4>
<p>neighborPropDelayThresh defines the propagation time threshold, above which a port is not considered capable of participating in the IEEE 802.1AS protocol (see IEEE 802.1AS - 11.2.2 Determination of asCapable). If a computed neighborPropDelay exceeds neighborPropDelayThresh, then asCapable is set to FALSE for the port. This setting does not apply to Automotive profile where a link is always considered to be capable or running IEEE 802.1AS.</p>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">neighborPropDelayThresh </td><td class="markdownTableBodyCenter">32 to 10000000 (default 800) </td><td class="markdownTableBodyCenter">Neighbor propagation delay threshold expressed in ns  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md76"></a>
Statistics output interval</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadLeft">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">statsInterval </td><td class="markdownTableBodyCenter">0 to 255 (default 10) </td><td class="markdownTableBodyLeft">Statistics output interval expressed in seconds. Use 0 to disable statistics.  </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md77"></a>
[FGPTP_GM_PARAMS]</h3>
<p>This section defines the native Grand Master capabilities of a time-aware system (see IEEE 802.1AS - 8.6.2 Time-aware system attributes). Grandmaster parameters define per-domain values (defined in separate config files).</p>
<p>gmCapable defines if the time-aware system is capable of being a grandmaster. By default gmCapable is set to 1 as in standard profile operation the Grand Master is elected dynamically by the BMCA. In case of automotive profile gmCapable must be set on each AED node to match the required network topology (i.e. within a given gPTP domain only one node must have its gmCapable property set to 1).</p>
<p>priority1, priority2, clockClass, clockAccuracy and offsetScaledLogVariance are parameters used by the Best Master Clock algorithm to determine which of the Grand Master capable node whithin the gPTP domain has the highest priority/quality. Note that the lowest value for these parameters matches the highest priority/quality.</p>
<h4><a class="anchor" id="autotoc_md78"></a>
grandmaster capable setting</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">gmCapable </td><td class="markdownTableBodyCenter">&#160; 0 or 1 (default 1) </td><td class="markdownTableBodyCenter">&#160;Set to 1 if the device has grandmaster capability. Ignored in automotive profile if the port is SLAVE.  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md79"></a>
grandmaster priority1 value</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">priority1 </td><td class="markdownTableBodyCenter">&#160;0 to 255 (default 248 for AED-E and 246 for AED-B) </td><td class="markdownTableBodyCenter">Set the priority1 value of this clock  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md80"></a>
grandmaster priority2 value</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">priority2 </td><td class="markdownTableBodyCenter">&#160;0 to 255 (default 248) </td><td class="markdownTableBodyCenter">&#160;Set the priority2 value of this clock  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md81"></a>
grandmaster clock class value</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">clockClass </td><td class="markdownTableBodyCenter">&#160;0 to 255 (default 248) </td><td class="markdownTableBodyCenter">Set the class value of this clock  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md82"></a>
grandmaster clock accuracy value</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">clockAccuracy </td><td class="markdownTableBodyCenter">&#160;0x0 to 0xff (default 0xfe) </td><td class="markdownTableBodyCenter">&#160;Set the accuracy value of this clock  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md83"></a>
grandmaster variance value</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">offsetScaledLogVariance </td><td class="markdownTableBodyCenter">&#160;0x0 to 0xffff (default 17258) </td><td class="markdownTableBodyCenter">Set the offset scaled log variance value of this clock  </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md84"></a>
[FGPTP_AUTOMOTIVE_PARAMS]</h3>
<p>The static pdelay feature is used only if the gPTP stack operates in automotive profile configuration.</p>
<p>At init time the gPTP stack's configuration file is parsed and based on neighborPropDelay_mode the specified initial_neighborPropDelay is applied to all ports and used for synchronization until a pdelay response from the peer is received. This is done only if no previously stored pdelay is available from the nvram database specified by nvram_file. As soon as a pdelay response from the peer is received the 'real' pdelay value is computed, and used for current synchronization. An indication may then be sent via callback up to the OS-dependent layer. Upon new indication the Host may update its nvram database and the stored value will be used at next restart for the corresponding port instead of the initial_neighborPropDelay. The granularity at which pdelay change indications are sent to the Host is defined by the neighborPropDelay_sensitivity parameter.</p>
<p>In the gPTP configuration file the neighborPropDelay_mode parameter is set to 'static' by default, meaning that a predefined propagation delay is used as described above while pdelay requests are still sent to the network.</p>
<p>The 'silent' mode behaves the same way as the 'static' mode except that pdelay requests are never sent at all to the network.</p>
<p>Optionally the neighborPropDelay_mode parameter can be set to standard forcing the stack to operate propagation delay measurements as specified in the 802.1AS specifications even if the automotive profile is selected.</p>
<p>(see AutoCDSFunctionalSpec-1_4 - 6.2.2 Persistent gPTP Values)</p>
<h4><a class="anchor" id="autotoc_md85"></a>
pdelay mode</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">neighborPropDelay_mode </td><td class="markdownTableBodyCenter">&#160; 'static' 'silent' or 'standard' (default static) </td><td class="markdownTableBodyCenter">&#160;Defines pdelay mechanism used  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md86"></a>
static pdelay value</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">initial_neighborPropDelay </td><td class="markdownTableBodyCenter">&#160;0 to 10000 (default 250) </td><td class="markdownTableBodyCenter">&#160;Predefined pdelay value applied to all ports. Expressed in ns.  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md87"></a>
static pdelay sensitivity</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">neighborPropDelay_sensitivity </td><td class="markdownTableBodyCenter">0 to 1000 (default 10) </td><td class="markdownTableBodyCenter">Amount of ns between two pdelay measurements required to trigger a change indication. Expressed in ns.  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md88"></a>
nvram file name</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">nvram_file </td><td class="markdownTableBodyCenter">(default /etc/genavb/fgptp.nvram) </td><td class="markdownTableBodyCenter">Path and nvram file name.  </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md89"></a>
[FGPTP_TIMING]</h3>
<p>Pdelay requests and Sync messages sending intervals have a direct impact on the system synchronization performance. To reduce synhronization time while optimizing overall system load, two levels of intervals are defined. The first level called 'Initial', defines the messages intervals used until pdelay values have stabilized and synchronization is achieved. The second level called 'Operational', defines the messages intervals used once the system is synchronized.</p>
<p>initialLogPdelayReqInterval and operLogPdelayReqInterval define the intervals between the sending of successive Pdelay_Req messages. initialLogSyncInterval and operLogSyncInterval define the intervals between the sending of successive Sync messages. initialLogAnnounceInterval defines the interval between the sending of successive Announce messages</p>
<p>(see AutoCDSFunctionalSpec-1_4 - 6.2.1 Static gPTP Values)</p>
<h4><a class="anchor" id="autotoc_md90"></a>
initial pdelay request interval value</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">initialLogPdelayReqInterval </td><td class="markdownTableBodyCenter">0 to 3 (default 0) </td><td class="markdownTableBodyCenter">Set pdelay request initial interval between the sending of successive Pdelay_Req messages. Expressed in log2 unit (default 0 -&gt; 1s).  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md91"></a>
initial sync interval value</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">initialLogSyncInterval </td><td class="markdownTableBodyCenter">-5 to 0 (default -3) </td><td class="markdownTableBodyCenter">Set sync transmit initial interval between the sending of successive Sync messages. Expressed in log2 unit (default -3 -&gt; 125ms).  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md92"></a>
initial announce interval value</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">initialLogAnnounceInterval </td><td class="markdownTableBodyCenter">0 to 3 (default 0) </td><td class="markdownTableBodyCenter">&#160;Set initial announce transmit interval between the sending of successive Announce messages. Expressed in log2 unit (default 0 -&gt; 1s).  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md93"></a>
operational pdelay request interval value</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">operLogPddelayReqInterval </td><td class="markdownTableBodyCenter">&#160;0 to 3 (default 0) </td><td class="markdownTableBodyCenter">&#160;Set pdelay request transmit interval used during normal operation state. Expressed in log2 unit (default 0 -&gt; 1s).  </td></tr>
</table>
<h4><a class="anchor" id="autotoc_md94"></a>
operational sync interval value</h4>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">operLogSyncInterval </td><td class="markdownTableBodyCenter">&#160;-5 to 0 (default -3) </td><td class="markdownTableBodyCenter">&#160;Set sync transmit interval used during normal operation state. Expressed in log2 unit (default -3 -&gt; 125ms).  </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md95"></a>
[FGPTP_PORTn]</h3>
<p>Per port settings where n represents the port index starting at n=1.</p>
<h3><a class="anchor" id="autotoc_md96"></a>
port role</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">portRole </td><td class="markdownTableBodyCenter">'slave', 'master', 'disabled' (default disabled) </td><td class="markdownTableBodyCenter">Static port role (ref. 802.1AS-2011, section 14.6.3, Table 10-1), applies to "automotive" profile only.  </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md97"></a>
ptp port enabled</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">ptpPortEnabled </td><td class="markdownTableBodyCenter">0 or 1 (default 1) </td><td class="markdownTableBodyCenter">Set to 1 if both time-synchronization and best master selection functions of the port should be used (ref. 802.1AS-2011, sections 14.6.4 and 10.2.4.12).  </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md98"></a>
Rx timestamping compensation delay</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">rxDelayCompensation </td><td class="markdownTableBodyCenter">-1000000 to 1000000 (default 0) </td><td class="markdownTableBodyCenter">Rx timestamp compensation substracted from receive timestamp.  </td></tr>
</table>
<h3><a class="anchor" id="autotoc_md99"></a>
Tx timestamping compensation delay</h3>
<table class="markdownTable">
<tr class="markdownTableHead">
<th class="markdownTableHeadNone">Key </th><th class="markdownTableHeadCenter">Value &amp; Range </th><th class="markdownTableHeadCenter">Description  </th></tr>
<tr class="markdownTableRowOdd">
<td class="markdownTableBodyNone">txDelayCompensation </td><td class="markdownTableBodyCenter">-1000000 to 1000000 (default 0) </td><td class="markdownTableBodyCenter">Tx timestamp compensation added to transmit timestamp.  </td></tr>
</table>
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul class="foot">
    <li class="footer"> &copy; 2017-2020 NXP
    </li>
  </ul>
</div>
</body>
</html>
